﻿using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;

namespace HYQuick
{
    public interface IHYQuickPlugin //接口
    {
        IHYQuickPluginMethod[] GetMethods();
    }
    public interface IHYQuickPluginMethod
    {
        string GetName();
        string GetDescription(IHYQuickWindow HYquickWindow);
        string AvailableApplicationName();
        void Invoke(object sender, IHYQuickWindow HYquickWindow);
        bool AcceptArgs();
        bool GetIcon(IHYQuickWindow HYquickWindow, out ImageSource icon); //ImageSource->System.Windows.Media

        //事件回调
        //插件在激活状态下按下一个键时
        void KeyDown(IHYQuickWindow HYquickWindow, KeyEventArgs e);  //KeyEventArgs->System.Windows.Input
        //插件在激活状态下搜索文本有变化时
        void TextChanged(IHYQuickWindow HYquickWindow, TextChangedEventArgs e);//TextChangedEventArgs->System.Windows.Controls
        //主窗体关闭时
        void Closed(IHYQuickWindow HYquickWindow);
        void PageDown(IHYQuickWindow HYquickWindow);
        void PageUp(IHYQuickWindow quickWindow);

    }
}
